Skip to content

feat/#674 개발 환경 이메일 인증 우회 구현 - #681

Merged
kangkings merged 2 commits into
devfrom
feat/674-ignore-email-auth
Sep 17, 2026
Merged

kangkings merged 2 commits into
devfrom
feat/674-ignore-email-auth

Conversation

@kangkings

@kangkings kangkings commented Sep 10, 2026 •

Copy link
Copy Markdown
Contributor

#️⃣연관된 이슈

close #674

선행 PR: #680

모집공고 API 확장 기능에 의존하는 stacked PR입니다.

📝 작업 내용

  • 개발 환경 자동화 계정의 이메일 인증 우회 설정 추가
  • AUTH_CODE 요청과 설정된 이메일이 일치하면 SES 발송 없이 고정 인증번호를 Redis에 저장
  • 자동화 계정은 이메일 발송 Rate Limit을 적용하지 않고 기존 인증번호 TTL 5분 유지
  • 인증번호 검증과 verification token 발급은 기존 인증 흐름 재사용
  • PIN_RESET, REMIND_APPLY, 일반 이메일은 기존 발송 흐름 유지
  • 기본 설정은 비활성화해 개발 환경 설정에서만 명시적으로 활성화

✅ 검증

  • 이메일 인증 우회 관련 테스트 통과
  • 전체 테스트 통과
  • JaCoCo 커버리지 검증 통과

⚙️ 배포 및 데이터 반영

  • 개발 서버 배포 전 s3에 업로드 되어있는application-dev.yml에 이메일 인증 우회 설정을 추가해야 합니다.
  • 병합 후 자동화 테스트용 기수와 PM, PD, FE, BE, APP 직군의 상시 오픈 공고 데이터를 추가해야 합니다.

🙏 리뷰 요구사항 (선택)

  • 자동화 계정만 Rate Limit과 SES 발송을 건너뛰고 기존 Redis 인증번호 검증 흐름을 재사용하는 구조를 확인해주세요.
  • 모집공고 HTML Sanitizing은 실제 삽입할 HTML 본문을 확인한 뒤 필요한 태그와 속성을 기준으로 허용 정책을 확정해 별도 처리할 예정입니다.

Summary by CodeRabbit

  • 새로운 기능

    • 개발 환경에서 지정된 이메일 주소에 대해 이메일 발송 없이 고정 인증번호를 사용할 수 있습니다.
    • 설정된 인증번호는 5분 동안 유효하며, 기본적으로 기능은 비활성화되어 있습니다.
  • 테스트

    • 인증번호 우회 기능과 이메일 발송 없이 저장되는 동작을 검증하는 테스트가 추가되었습니다.

@coderabbitai

coderabbitai Bot commented Sep 10, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: 455e1868-f578-42c0-b90c-90357f10b965

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: a1b33b38-d06c-4a64-89c6-3b1b7192076e

📥 Commits

Reviewing files that changed from the base of the PR and between 88e0023 and 83e6d63.

📒 Files selected for processing (4)
  • src/main/java/org/ject/support/external/email/config/EmailAuthBypassProperties.java
  • src/main/java/org/ject/support/external/email/service/EmailAuthService.java
  • src/main/resources/application.yml
  • src/test/java/org/ject/support/external/email/service/EmailAuthServiceTest.java

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


Walkthrough

이메일 인증 우회 설정을 추가했다. 지정된 이메일에는 고정 인증번호를 Redis에 저장하고 메일 발송을 생략한다. 기본 설정은 비활성화 상태다. 서비스 테스트는 우회 및 일반 발송 경로를 검증한다.

Changes

이메일 인증 우회

Layer / File(s) Summary
우회 설정 계약
src/main/java/org/ject/support/external/email/config/EmailAuthBypassProperties.java, src/main/resources/application.yml
email-auth.bypass 설정을 추가했다. 활성화 여부, 대상 이메일, 고정 코드를 검증한다. 기본 활성화 값은 false다.
인증 서비스 우회 처리
src/main/java/org/ject/support/external/email/service/EmailAuthService.java, src/test/java/org/ject/support/external/email/service/EmailAuthServiceTest.java
AUTH_CODE 요청이 우회 대상이면 고정 코드를 5분 TTL로 저장하고 rate-limit 검사, 코드 생성, 메일 발송을 생략한다. 테스트는 우회 경로와 기존 발송 경로를 검증한다.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
  participant EmailAuthService
  participant EmailAuthBypassProperties
  participant Redis
  EmailAuthService->>EmailAuthBypassProperties: 대상 이메일의 우회 가능 여부 조회
  EmailAuthBypassProperties-->>EmailAuthService: 우회 조건 결과 반환
  EmailAuthService->>Redis: 고정 인증번호를 5분 TTL로 저장
  EmailAuthService-->>EmailAuthService: 메일 발송 및 rate-limit 검사 생략
Loading

Merge Risk: ⚪ Minimal · up to 83e6d

The bypass is limited to configured AUTH_CODE requests and remains disabled by default; the supplied changes and tests show no actionable merge-blocking risk.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 3 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed 직접 연결된 이슈 [#674]의 자동화 테스트 전용 인증 통과 로직 요구를 구현했습니다. 특정 자동화 계정에 대해 AUTH_CODE 이메일 발송을 우회하고 고정 인증번호를 저장하며, 기존 인증 흐름을 재사용합니다.
Out of Scope Changes check ✅ Passed 변경 사항은 [#674]의 이메일 인증 우회 목적에 한정됩니다. 설정, 서비스 로직, 테스트 추가는 모두 해당 기능 구현과 직접 관련됩니다.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 개발 환경의 이메일 인증 우회 기능 구현이라는 PR의 주요 변경 사항을 정확하고 간결하게 설명합니다.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 3 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/674-ignore-email-auth

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

토끼가 고정 코드를 품에 안고
우회 설정 문을 살짝 열어요
Redis에 다섯 분 동안 맡기고
메일 대신 깡충 뛰어가요
테스트도 함께 귀를 쫑긋 세워요

Comment @coderabbitai help to get the list of available commands.

@kangkings
kangkings requested a review from 023-dev September 10, 2026 09:45
@kangkings kangkings self-assigned this Sep 10, 2026
@kangkings kangkings added ✨feature 구현, 개선 사항 관련 부분 👨🏻‍💻backend 백엔드 작업 labels Sep 10, 2026

@023-dev 023-dev left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다!

@kangkings
kangkings force-pushed the feat/673-expand-recruit-api branch 2 times, most recently from 613b44d to 508dac4 Compare September 17, 2026 10:50
@kangkings
kangkings changed the base branch from feat/673-expand-recruit-api to dev September 17, 2026 11:00
@kangkings
kangkings force-pushed the feat/674-ignore-email-auth branch from 83e6d63 to 181d4ca Compare September 17, 2026 11:01
@github-actions

Copy link
Copy Markdown

Test Results

772 tests   772 ✅  20s ⏱️
102 suites    0 💤
102 files      0 ❌

Results for commit 181d4ca.

@github-actions

Copy link
Copy Markdown

📊테스트 커버리지

Overall Project 90.17% -0.15% 🍏
Files changed 57.45% ❌

File Coverage
EmailAuthService.java 97.09% 🍏
EmailAuthBypassProperties.java 37.5% -62.5% ❌

@kangkings
kangkings merged commit 8437f72 into dev Sep 17, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

👨🏻‍💻backend 백엔드 작업 ✨feature 구현, 개선 사항 관련 부분

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[FEAT] 자동화 테스트 전용 인증 통과 로직 추가

2 participants